Search

文章開頭借用了日文的 Poka-Yokes 來分享有哪一些準則或是技巧可以讓你打造一個具 Mista...

  • Share this:

文章開頭借用了日文的 Poka-Yokes 來分享有哪一些準則或是技巧可以讓你打造一個具 Mistake-Proof 的 Terraform 程式。

文章內列舉了四個準則,這邊簡單列舉了一下每個準則的概念,詳細資訊可以閱讀全文

# Rule 1: Use Terraform Modules to abstract specific pieces of infrastructure into logical groupings
1. 針對需求與架構去拆分你的 Terraform Module,舉例來說,創建一個名為 ECS Service 的 Module,而該 Modules 內其實會創建如 ECS, autoscaling target, metrics 等諸多資源。也正式這些資源相互合作才真正的搭建出 ECS 的服務
2. 上層的應用接下來都會以 ECS 服務為考量去使用,本身不需要去考慮太多底層創建的資源,透過變數的方式來讓不同的呼叫者有不同的 EC 服務

# Rule 2: Use Terraform Data calls to provide information
1. 人類其實很容易犯錯,特別是一些反覆執行的工作。但是電腦非常擅長這類型的工作
2. 相對於要求使用者或是開發者維護各類資源的 ID 或是資訊,更好的做法是利用 Terraform 內的 data 功能,主動地從遠方抓取這些資訊,並且搭配 filter 來過濾不必要的資訊。

# Rule 3: Be Smart About Where Interpolation and Concatenation Happens
- 創建應用時,很容易透過 Copy/Paste 等方式來創建相關資源,這時候就要特別注意資源的名稱是否有重複,是否忘了修改
- 透過變數的方式幫資源命名,但是要注意如果你今天想要修改命名的規則,每個有用到該資源的檔案都要去修改
- 有使用 Module 的話,可以考慮於 Module 呼叫時去組合相關名稱,而不是 Module 內組合。

# Rule 4: Implement State Locking for Ease of Deployments
- Lock 非常重要,透過 lock 機制我們可以避免同時有多個更新造成狀態不一致

有興趣的可以點選連結來觀看全文
原文: https://medium.com/capital-one-tech/terraform-poka-yokes-writing-effective-scalable-dynamic-and-error-resistant-terraform-dcbd6a0ada6a


Tags:

About author
目前工作內容主要以 DevOps 為主,本身是微軟 Cloud and Datacenter Management MVP,閒暇之餘會透過文章記錄所學,記錄於 https://www.hwchiu.com. 喜歡參加社群活動來學習不同的經驗,藉此增廣見聞 目前主要參加的社群是 CNTUG,偶而會參加線上 Meetup ,透過網路的方式分享一些心得,並且錄影分享於 Youtube 上
工作與閒暇之餘的學習筆記,紀錄各式各樣的科技文章,同時分享自身部落格文章,線上社群演講以及線上課程資訊
View all posts